/**使用单个一维数组实现杨辉三角的打印功能
 * */
public class Test4 {
    public static void printSymmetricYangHui(int n) {
        if (n <= 0) return;

        int[] row = new int[n];
        row[0] = 1; // 初始化第一行

        for (int i = 0; i < n; i++) {
            // 打印前导空格，实现对称效果
            for (int s = 0; s < n - i - 1; s++) {
                System.out.print("  ");
            }

            // 从右向左计算下一行的值
            for (int j = i; j > 0; j--) {
                row[j] = row[j] + row[j - 1];
            }

            // 打印当前行数字
            for (int j = 0; j <= i; j++) {
                System.out.printf("%4d", row[j]);
            }
            System.out.println();
        }
    }

    public static void main(String[] args) {
        printSymmetricYangHui(5);
    }
}